// pages/PublishDetail/PublishDetail.js
var app = getApp();
var rootUrl = require("../../api/api");
var auth = require("../../utils/auth.js")
var detail_url = rootUrl.detail;
var comment_url = rootUrl.comment;
var favor_url = rootUrl.favor;
console.log(detail_url);
console.log(comment_url);
console.log(favor_url);



Page({

  /**
   * 页面的初始数据
   */
  data: {
    news:null,
    isShowCommentModal:false,
    reply: {} // {depth: 1, nid: 36,content:'xx'}   {cid: 1, depth: 2, nickname: "wupeiqi", nid: 36,rid:1,content:'',rootindex:0.212}
  },

  // 点赞
  doFavor:function(e){
    // var result = auth.is_login()
    // if(!result){
    //   return
    // }
    if(!app.globalData.token){
      wx.navigateTo({
        url: '/pages/login/login',
      })
      return
    }
    var newsId = e.currentTarget.dataset.news
    console.log(newsId)
    wx.request({
      url: favor_url,
      data: {
        article:newsId
      },
      dataType: "json",
      method: "POST",
      header:{
        Authorization:app.globalData.token ? app.globalData.token:""
      },
      responseType: "text",
      success: (result) => {
        console.log(result);
        if(result.statusCode==200){
          this.setData({
            ["news.is_favor"]:false
          })
        }else if(result.statusCode==201){
          this.setData({
            ["news.is_favor"]:true
          })
        }else{
          wx.showToast({
            title: '请求错误',
            icon:'none'
          })
        }
      },
      fail: (err) => {},
      complete: (res) => {},
    })

  },
  onClickPostComment:function(){
    if(!this.data.reply.content){
      wx.showToast({
        title: '评论不能为空',
        icon: 'none'
      })
      return
    }
    
    wx.request({
      url: comment_url,
      data: {
        article:this.data.reply.nid,
        depth: this.data.reply.depth,
        reply: this.data.reply.cid, // 回复的评论id
        content: this.data.reply.content,
        root: this.data.reply.rid
      },
      method: 'POST',
      dataType: 'json',
      header:{
        Authorization:app.globalData.token ? app.globalData.token:""
      },
      responseType: 'text',
      success: (res) => {
        if(res.statusCode == 201){
          if (this.data.reply.rootindex == undefined){
            // 如果是根评论，应该添加到
            var dataList = this.data.news.comment;
            dataList.unshift(res.data)
            this.setData({
              ["news.comment"]: dataList,
              ["news.comment_count"]:this.data.news.comment_count + 1
            });
            this.onClickCancelCommentModal();
          }else{
            // console.log(this.data.news.comment[this.data.reply.rootindex]);
            var childCommentList = this.data.news.comment[this.data.reply.rootindex].child;
            console.log(childCommentList)
            if(childCommentList===undefined){
              this.setData({
                isShowCommentModal: false,
              })
              console.log(this.data.reply.nid)
              var nid = {"article_id":this.data.reply.nid}
              this.onLoad(nid)
              // wx.navigateBack({});
              // this.data.reply.nid
             
              return
            }
            childCommentList.unshift(res.data);

            this.setData({
              ["news.comment[" + this.data.reply.rootindex + "].child"]: childCommentList,
              ["news.comment_count"]: this.data.news.comment_count + 1
            });
            this.onClickCancelCommentModal();
          }
          
          // 如果是子评论，应该添加到哪里？放在二级评论的最上方

        }
      }
    })

  },
  inputComment:function(e){
    this.setData({
      ['reply.content']: e.detail.value
    })
  },
  onClickClearReply:function(){
    this.setData({
      reply:{
        depth:1,
        nid: this.data.reply.nid
      }
    })
  },
  onClickShowCommentModal:function(e){
    // 判断是否已经登录，如果没有登录，则跳转登录页面
    if(!app.globalData.token){
      wx.navigateTo({
        url: '/pages/login/login',
      })
      wx.showToast({
        title: '请先登录',
        icon:"none"
      })
      return
    }
    console.log(e.currentTarget.dataset);
    this.setData({
      isShowCommentModal:true,
      reply: e.currentTarget.dataset
    })
  },
  onClickCancelCommentModal:function(){
    this.setData({
      isShowCommentModal: false,
      reply: {}
    })
  },

  getMore:function(e){
    var rootId = e.currentTarget.dataset.root;
    var idx = e.currentTarget.dataset.idx;
    /**
     *  http://127.0.0.1:8000/api/commnet/12/
     *  http://127.0.0.1:8000/api/commnet/?root=12
     */
    wx.request({
      url: comment_url,
      data: {
        root:rootId
      },
      method: 'GET',
      dataType: 'json',
      header:{
        Authorization:app.globalData.token ? app.globalData.token:null
      },
      responseType: 'text',
      success: (res) => {
        // 找到跟评论下的child，把child替换为 res.data
        console.log(idx,res.data);
        this.setData({
          ["news.comment["+ idx +"].child"]:res.data
        })
      }
    })

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log(options)
    var article_id = options.article_id;
    console.log(article_id);
    console.log(app.globalData.token)
    // 向后端发请求，获取详细信息
    wx.request({
      url: detail_url + article_id + "/",
      method: 'GET',
      dataType: 'json',
      header:{
        Authorization:app.globalData.token ? app.globalData.token:""
      },
      responseType: 'text',
      success: (res) => {
        this.setData({
          news:res.data
        })
      }
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})


// Page({

//   /**
//    * 页面的初始数据
//    */
//   data: {
//     detail:null,
//     old_detail:null,//备份原始数据
//     isclick:true

//   },

//   // 获取更多评论
//   getMore:function(e){
//     var root_id = e.currentTarget.dataset.root;
//     var idx = e.currentTarget.dataset.idx;
    

//     wx.request({
//       url: comment_url,
//       data: {
//         root:root_id,
//       },
//       dataType: "json",
//       method: "GET",
//       success: (result) => {
//         console.log(result.data);
//         // 如果 isclick 为true 则表示查看更多
//         if(this.data.isclick){
//           this.setData({
//             ["detail.comment["+idx+"].child"]:result.data,
//             isclick:false
//           })
//         }else{
//           getLess(idx);
//           this.setData({
//             // ["detail.comment["+idx+"].child"]:oldChild,
//             isclick:true
//           })
//         }

//       },
//       fail: (err) => {},
//       complete: (res) => {},
//     })
//   },

//   // 收起评论
//   getLess:function(idx){
//     this.setData({
//       detail:this.data.old_detail,
//       isclick:true
//     })
//   },


//   /**
//    * 生命周期函数--监听页面加载
//    */
//   onLoad(options) {
//     var article_id = options.article_id;
//     console.log(article_id);
//     wx.request({
//       url: detail_url + article_id + "/",
//       data: {},
//       dataType: "json",
//       method: "GET",
//       responseType: "text",
//       success: (result) => {
//         console.log(result)
//         this.setData({
//           detail:result.data,
//           old_detail:result.data
//         })
//       },
//       fail: (err) => {},
//       complete: (res) => {},
//     })

//   },

//   /**
//    * 生命周期函数--监听页面初次渲染完成
//    */
//   onReady() {

//   },

//   /**
//    * 生命周期函数--监听页面显示
//    */
//   onShow() {

//   },

//   /**
//    * 生命周期函数--监听页面隐藏
//    */
//   onHide() {

//   },

//   /**
//    * 生命周期函数--监听页面卸载
//    */
//   onUnload() {

//   },

//   /**
//    * 页面相关事件处理函数--监听用户下拉动作
//    */
//   onPullDownRefresh() {

//   },

//   /**
//    * 页面上拉触底事件的处理函数
//    */
//   onReachBottom() {

//   },

//   /**
//    * 用户点击右上角分享
//    */
//   onShareAppMessage() {

//   }
// })